package com.lix.service.workflow;

import com.lix.base.BaseResult;
import com.lix.vo.workflow.req.ModelAddReq;
import com.lix.vo.workflow.req.ModelReq;

import javax.servlet.http.HttpServletResponse;

public interface IModelService {
    /**
     * 新增模型基本信息（创建空的模型）
     *
     * @param req
     * @return
     * @throws Exception
     */
    BaseResult add(ModelAddReq req) throws Exception;

    /**
     * 条件分页查询流程定义模型列表数据
     */
    BaseResult getModelList(ModelReq req);

    /**
     * 通过流程定义模型ID部署流程定义
     * @throws Exception
     */
    BaseResult deploy(String modelId) throws Exception;

    /**
     * 导出模型图zip压缩包(.bpmn20.xml流程图和.png图片资源)
     */
    void exportZip(String modelId, HttpServletResponse response);
}
